'\" te
.\"  Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
.\"  See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with
.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH NFSSTAT 8 "Jun 16, 2009"
.SH NAME
nfsstat \- NFS statistics
.SH SYNOPSIS
.LP
.nf
\fBnfsstat\fR [\fB-cnrsza\fR] [\fB-T\fR u | d ] [\fB-v\fR \fIversion\fR] [\fIinterval\fR [\fIcount\fR]]
.fi

.LP
.nf
\fBnfsstat\fR \fB-m\fR [\fIpathname\fR]...
.fi

.SH DESCRIPTION
.LP
\fBnfsstat\fR displays statistical information about the \fBNFS\fR and
\fBRPC\fR (Remote Procedure Call), interfaces to the kernel. It can also be
used to reinitialize this information. If no options are given the default is
as follows:
.sp
.LP
\fBnfsstat\fR \fB-csnra\fR
.sp
.LP
The default displays everything, but reinitializes nothing.
.SH OPTIONS
.ne 2
.na
\fB\fB-a\fR\fR
.ad
.sp .6
.RS 4n
Display \fBNFS_ACL\fR information.
.RE

.sp
.ne 2
.na
\fB\fB-c\fR\fR
.ad
.sp .6
.RS 4n
Display client information. Only the client side \fBNFS\fR, \fBRPC\fR, and
\fBNFS_ACL\fR information is printed. Can be combined with the \fB-n\fR,
\fB-r\fR, and \fB-a\fR options to print client side \fBNFS\fR, \fBRPC\fR, and
\fBNFS_ACL\fR information only.
.RE

.sp
.ne 2
.na
\fB\fB-m\fR [\fIpathname...\fR]\fR
.ad
.sp .6
.RS 4n
Display statistics for each \fBNFS\fR mounted file system. If \fIpathname\fR is
not specified, displays statistics for all NFS mounted file systems. If
\fIpathname\fR is specified, displays statistics for the NFS mounted file
systems indicated by \fIpathname\fR.
.sp
This includes the server name and address, mount flags, current read and write
sizes, the retransmission count, the attribute cache timeout values, failover
information, and the timers used for dynamic retransmission. The dynamic
retransmission timers are displayed only where dynamic retransmission is in
use. By default, \fBNFS\fR mounts over the \fBTCP\fR protocols and \fBNFS\fR
Version 3 mounts over either \fBTCP\fR or \fBUDP\fR do not use dynamic
retransmission.
.sp
If you specify the \fB-m\fR option, this is the only option that \fBnfsstat\fR
uses. If you specify other options with \fB-m\fR, you receive an error message
alerting that the \fB-m\fR flag cannot be combined with other options.
.RE

.sp
.ne 2
.na
\fB\fB-n\fR\fR
.ad
.sp .6
.RS 4n
Display \fBNFS\fR information. \fBNFS\fR information for both the client and
server side are printed. Can be combined with the \fB-c\fR and \fB-s\fR options
to print client or server \fBNFS\fR information only.
.RE

.sp
.ne 2
.na
\fB\fB-r\fR\fR
.ad
.sp .6
.RS 4n
Display \fBRPC\fR information.
.RE

.sp
.ne 2
.na
\fB\fB-s\fR\fR
.ad
.sp .6
.RS 4n
Display server information.
.RE

.sp
.ne 2
.na
\fB\fB-T\fR \fBu\fR | \fBd\fR\fR
.ad
.sp .6
.RS 4n
Display a time stamp.
.sp
Specify \fBu\fR for a printed representation of the internal representation of
time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See
\fBdate\fR(1).
.RE

.sp
.ne 2
.na
\fB\fB-v\fR \fIversion\fR\fR
.ad
.sp .6
.RS 4n
Specify which NFS version for which to print statistics. When followed by the
optional \fIversion\fR argument, (\fB2\fR|\fB3\fR|\fB4\fR), specifies
statistics for that version. By default, prints statistics for all versions.
.RE

.sp
.ne 2
.na
\fB\fB-z\fR\fR
.ad
.sp .6
.RS 4n
Zero (reinitialize) statistics. This option is for use by the super user only,
and can be combined with any of the above options to zero particular sets of
statistics after printing them.
.RE

.SH OPERANDS
.LP
The following operands are supported:
.sp
.ne 2
.na
\fB\fIcount\fR\fR
.ad
.sp .6
.RS 4n
Display only count reports
.RE

.sp
.ne 2
.na
\fB\fIinterval\fR\fR
.ad
.sp .6
.RS 4n
Report once each interval seconds.
.RE

.sp
.ne 2
.na
\fB\fIpathname\fR\fR
.ad
.sp .6
.RS 4n
Specify the pathname of a file in an NFS mounted file system for which
statistics are to be displayed.
.RE

.SH DISPLAYS
.LP
The server \fBRPC\fR display includes the following fields:
.sp
.ne 2
.na
\fB\fBbadcalls\fR\fR
.ad
.sp .6
.RS 4n
The total number of calls rejected by the \fBRPC\fR layer (the sum of
\fBbadlen\fR and \fBxdrcall\fR as defined below).
.RE

.sp
.ne 2
.na
\fB\fBbadlen\fR\fR
.ad
.sp .6
.RS 4n
The number of \fBRPC\fR calls with a length shorter than a minimum-sized
\fBRPC\fR call.
.RE

.sp
.ne 2
.na
\fB\fBcalls\fR\fR
.ad
.sp .6
.RS 4n
The total number of \fBRPC\fR calls received.
.RE

.sp
.ne 2
.na
\fB\fBdupchecks\fR\fR
.ad
.sp .6
.RS 4n
The number of \fBRPC\fR calls that looked up in the duplicate request cache.
.RE

.sp
.ne 2
.na
\fB\fBdupreqs\fR\fR
.ad
.sp .6
.RS 4n
The number of \fBRPC\fR calls that were found to be duplicates.
.RE

.sp
.ne 2
.na
\fB\fBnullrecv\fR\fR
.ad
.sp .6
.RS 4n
The number of times an \fBRPC\fR call was not available when it was thought to
be received.
.RE

.sp
.ne 2
.na
\fB\fBxdrcall\fR\fR
.ad
.sp .6
.RS 4n
The number of \fBRPC\fR calls whose header could not be \fBXDR\fR decoded.
.RE

.sp
.LP
The server \fBNFS\fR display shows the number of \fBNFS\fR calls received
(\fBcalls\fR) and rejected (\fBbadcalls\fR), and the counts and percentages for
the various calls that were made.
.sp
.LP
The server \fBNFS_ACL\fR display shows the counts and percentages for the
various calls that were made.
.sp
.LP
The client \fBRPC\fR display includes the following fields:
.sp
.ne 2
.na
\fB\fBcalls\fR\fR
.ad
.sp .6
.RS 4n
The total number of \fBRPC\fR calls made.
.RE

.sp
.ne 2
.na
\fB\fBbadcalls\fR\fR
.ad
.sp .6
.RS 4n
The total number of calls rejected by the \fBRPC\fR layer.
.RE

.sp
.ne 2
.na
\fB\fBbadverfs\fR\fR
.ad
.sp .6
.RS 4n
The number of times the call failed due to a bad verifier in the response.
.RE

.sp
.ne 2
.na
\fB\fBbadxids\fR\fR
.ad
.sp .6
.RS 4n
The number of times a reply from a server was received which did not correspond
to any outstanding call.
.RE

.sp
.ne 2
.na
\fB\fBcantconn\fR\fR
.ad
.sp .6
.RS 4n
The number of times the call failed due to a failure to make a connection to
the server.
.RE

.sp
.ne 2
.na
\fB\fBcantsend\fR\fR
.ad
.sp .6
.RS 4n
The number of times a client was unable to send an \fBRPC\fR request over a
connectionless transport when it tried to do so.
.RE

.sp
.ne 2
.na
\fB\fBinterrupts\fR\fR
.ad
.sp .6
.RS 4n
The number of times the call was interrupted by a signal before completing.
.RE

.sp
.ne 2
.na
\fB\fBnewcreds\fR\fR
.ad
.sp .6
.RS 4n
The number of times authentication information had to be refreshed.
.RE

.sp
.ne 2
.na
\fB\fBnomem\fR\fR
.ad
.sp .6
.RS 4n
The number of times the call failed due to a failure to allocate memory.
.RE

.sp
.ne 2
.na
\fB\fBretrans\fR\fR
.ad
.sp .6
.RS 4n
The number of times a call had to be retransmitted due to a timeout while
waiting for a reply from the server. Applicable only to \fBRPC\fR over
connection-less transports.
.RE

.sp
.ne 2
.na
\fB\fBtimeouts\fR\fR
.ad
.sp .6
.RS 4n
The number of times a call timed out while waiting for a reply from the server.
.RE

.sp
.ne 2
.na
\fB\fBtimers\fR\fR
.ad
.sp .6
.RS 4n
The number of times the calculated time-out value was greater than or equal to
the minimum specified time-out value for a call.
.RE

.sp
.LP
The client \fBNFS\fR display shows the number of calls sent and rejected, as
well as the number of times a \fBCLIENT\fR handle was received (\fBclgets\fR),
the number of times the \fBCLIENT\fR handle cache had no unused entries
(\fBcltoomany\fR), as well as a count of the various calls and their respective
percentages.
.sp
.LP
The client \fBNFS_ACL\fR display shows the counts and percentages for the
various calls that were made.
.sp
.LP
The \fB-m\fR option includes information about mount flags set by mount
options, mount flags internal to the system, and other mount information. See
\fBmount_nfs\fR(8).
.sp
.LP
The following mount flags are set by mount options:
.sp
.ne 2
.na
\fB\fBgrpid\fR\fR
.ad
.sp .6
.RS 4n
System V group id inheritance.
.RE

.sp
.ne 2
.na
\fB\fBhard\fR\fR
.ad
.sp .6
.RS 4n
Hard mount.
.RE

.sp
.ne 2
.na
\fB\fBintr\fR\fR
.ad
.sp .6
.RS 4n
Interrupts allowed on hard mount.
.RE

.sp
.ne 2
.na
\fB\fBllock\fR\fR
.ad
.sp .6
.RS 4n
Local locking being used (no lock manager).
.RE

.sp
.ne 2
.na
\fB\fBnoac\fR\fR
.ad
.sp .6
.RS 4n
Client is not caching attributes.
.RE

.sp
.ne 2
.na
\fB\fBnointr\fR\fR
.ad
.sp .6
.RS 4n
No interrupts allowed on hard mount.
.RE

.sp
.ne 2
.na
\fB\fBnocto\fR\fR
.ad
.sp .6
.RS 4n
No close-to-open consistency.
.RE

.sp
.ne 2
.na
\fB\fBretrans\fR\fR
.ad
.sp .6
.RS 4n
\fBNFS\fR retransmissions.
.RE

.sp
.ne 2
.na
\fB\fBrpctimesync\fR\fR
.ad
.sp .6
.RS 4n
\fBRPC\fR time sync.
.RE

.sp
.ne 2
.na
\fB\fBrsize\fR\fR
.ad
.sp .6
.RS 4n
Read buffer size in bytes.
.RE

.sp
.ne 2
.na
\fB\fBsec\fR\fR
.ad
.sp .6
.RS 4n
\fBsec\fR has one of the following values:
.sp
.ne 2
.na
\fB\fBdh\fR\fR
.ad
.sp .6
.RS 4n
\fBdes\fR-style authentication (encrypted timestamps).
.RE

.sp
.ne 2
.na
\fB\fBkrb5\fR\fR
.ad
.sp .6
.RS 4n
\fBkerberos v5\fR-style authentication.
.RE

.sp
.ne 2
.na
\fB\fBkrb5i\fR\fR
.ad
.sp .6
.RS 4n
\fBkerberos v5\fR-style authentication with integrity.
.RE

.sp
.ne 2
.na
\fB\fBkrb5p\fR\fR
.ad
.sp .6
.RS 4n
\fBkerberos v5\fR-style authentication with privacy.
.RE

.sp
.ne 2
.na
\fB\fBnone\fR\fR
.ad
.sp .6
.RS 4n
No authentication.
.RE

.sp
.ne 2
.na
\fB\fBshort\fR\fR
.ad
.sp .6
.RS 4n
Short hand UNIX-style authentication.
.RE

.sp
.ne 2
.na
\fB\fBsys\fR\fR
.ad
.sp .6
.RS 4n
UNIX-style authentication (UID, GID).
.RE

.RE

.sp
.ne 2
.na
\fB\fBsoft\fR\fR
.ad
.sp .6
.RS 4n
Soft mount.
.RE

.sp
.ne 2
.na
\fB\fBtimeo\fR\fR
.ad
.sp .6
.RS 4n
Initial \fBNFS\fR timeout, in tenths of a second.
.RE

.sp
.ne 2
.na
\fB\fBwsize\fR\fR
.ad
.sp .6
.RS 4n
Write buffer size in bytes.
.RE

.sp
.LP
The following mount flags are internal to the system:
.sp
.ne 2
.na
\fB\fBacl\fR\fR
.ad
.sp .6
.RS 4n
Server supports \fBNFS_ACL\fR.
.RE

.sp
.ne 2
.na
\fB\fBdown\fR\fR
.ad
.sp .6
.RS 4n
Server is down.
.RE

.sp
.ne 2
.na
\fB\fBdynamic\fR\fR
.ad
.sp .6
.RS 4n
Dynamic transfer size adjustment.
.RE

.sp
.ne 2
.na
\fB\fBlink\fR\fR
.ad
.sp .6
.RS 4n
Server supports links.
.RE

.sp
.ne 2
.na
\fB\fBmirrormount\fR\fR
.ad
.sp .6
.RS 4n
Mounted automatically by means of the \fBmirrormount\fR mechanism.
.RE

.sp
.ne 2
.na
\fB\fBprinted\fR\fR
.ad
.sp .6
.RS 4n
"Not responding" message printed.
.RE

.sp
.ne 2
.na
\fB\fBreaddir\fR\fR
.ad
.sp .6
.RS 4n
Use \fBreaddir\fR instead of \fBreaddirplus\fR.
.RE

.sp
.ne 2
.na
\fB\fBsymlink\fR\fR
.ad
.sp .6
.RS 4n
Server supports symbolic links.
.RE

.sp
.LP
The following flags relate to additional mount information:
.sp
.ne 2
.na
\fB\fBproto\fR\fR
.ad
.sp .6
.RS 4n
Protocol.
.RE

.sp
.ne 2
.na
\fB\fBvers\fR\fR
.ad
.sp .6
.RS 4n
\fBNFS\fR version.
.RE

.sp
.LP
The \fB-m\fR option also provides attribute cache timeout values. The following
fields in \fB-m\fR output provide timeout values for attribute cache:
.sp
.ne 2
.na
\fB\fBacdirmax\fR\fR
.ad
.sp .6
.RS 4n
Maximum seconds to hold cached directory attributes.
.RE

.sp
.ne 2
.na
\fB\fBacdirmin\fR\fR
.ad
.sp .6
.RS 4n
Minimum seconds to hold cached directory attributes.
.RE

.sp
.ne 2
.na
\fB\fBacregmax\fR\fR
.ad
.sp .6
.RS 4n
Maximum seconds to hold cached file attributes.
.RE

.sp
.ne 2
.na
\fB\fBacregmin\fR\fR
.ad
.sp .6
.RS 4n
Minimum seconds to hold cached file attributes.
.RE

.sp
.LP
The following fields in \fB-m\fR output provide failover information:
.sp
.ne 2
.na
\fB\fBcurrserver\fR\fR
.ad
.sp .6
.RS 4n
Which server is currently providing \fBNFS\fR service. See the \fI\fR for
additional details.
.RE

.sp
.ne 2
.na
\fB\fBfailover\fR\fR
.ad
.sp .6
.RS 4n
How many times a new server has been selected.
.RE

.sp
.ne 2
.na
\fB\fBnoresponse\fR\fR
.ad
.sp .6
.RS 4n
How many times servers have failed to respond.
.RE

.sp
.ne 2
.na
\fB\fBremap\fR\fR
.ad
.sp .6
.RS 4n
How many times files have been re-evaluated to the new server.
.RE

.sp
.LP
The fields in \fB-m\fR output shown below provide information on dynamic
retransmissions. These items are displayed only where dynamic retransmission is
in use.
.sp
.ne 2
.na
\fB\fBcur\fR\fR
.ad
.sp .6
.RS 4n
Current backed-off retransmission value, in milliseconds.
.RE

.sp
.ne 2
.na
\fB\fBdev\fR\fR
.ad
.sp .6
.RS 4n
Estimated deviation, in milliseconds.
.RE

.sp
.ne 2
.na
\fB\fBsrtt\fR\fR
.ad
.sp .6
.RS 4n
The value for the smoothed round-trip time, in milliseconds.
.RE

.SH EXIT STATUS
.LP
The following exit values are returned:
.sp
.ne 2
.na
\fB\fB0\fR\fR
.ad
.sp .6
.RS 4n
Successful completion.
.RE

.sp
.ne 2
.na
\fB\fB>0\fR\fR
.ad
.sp .6
.RS 4n
An error occurred.
.RE

.SH SEE ALSO
.LP
.BR attributes (7),
.BR mount_nfs (8)
.sp
.LP
\fI\fR
.sp
.LP
\fI\fR
